Turn gtk_places_sidebar_set_current_uri() into _set_current_location()
authorFederico Mena Quintero <federico@gnome.org>
Sat, 24 Nov 2012 16:41:11 +0000 (10:41 -0600)
committerFederico Mena Quintero <federico@gnome.org>
Sat, 24 Nov 2012 16:41:11 +0000 (10:41 -0600)
To be consistent with the ::location-selected signal, which emits a GFile, we now also use a GFile
instead of a string URI in the inbound API.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
gtk/gtkplacessidebar.c
gtk/gtkplacessidebar.h

index 6f0e7fe9883ff8fd12c93b8c2c15e91179e13653..2adcb1f37b096f2b1327270098968b0cd6cbe55f 100644 (file)
@@ -3921,27 +3921,28 @@ shortcuts_model_new (GtkPlacesSidebar *sidebar)
 /* Public methods for GtkPlacesSidebar */
 
 /**
- * gtk_places_sidebar_set_current_uri:
+ * gtk_places_sidebar_set_current_location:
  * @sidebar: a places sidebar
- * @uri: URI to select, or #NULL for no current path
+ * @location: location to select, or #NULL for no current path
  *
- * Sets the URI that is being shown in the widgets surrounding the @sidebar.  In turn,
- * it will highlight that URI if it is being shown in the list of places, or it will
- * unhighlight everything if the URI is not among the places in the list.
+ * Sets the location that is being shown in the widgets surrounding the @sidebar.  In turn,
+ * it will highlight that location if it is being shown in the list of places, or it will
+ * unhighlight everything if the location is not among the places in the list.
  */
 void
-gtk_places_sidebar_set_current_uri (GtkPlacesSidebar *sidebar, const char *uri)
+gtk_places_sidebar_set_current_location (GtkPlacesSidebar *sidebar, GFile *location)
 {
        GtkTreeSelection *selection;
        GtkTreeIter      iter;
        gboolean         valid;
        char             *iter_uri;
+       char             *uri;
 
        g_return_if_fail (GTK_IS_PLACES_SIDEBAR (sidebar));
 
        selection = gtk_tree_view_get_selection (sidebar->tree_view);
 
-       if (uri == NULL) {
+       if (location == NULL) {
                g_free (sidebar->uri);
                sidebar->uri = NULL;
 
@@ -3949,6 +3950,8 @@ gtk_places_sidebar_set_current_uri (GtkPlacesSidebar *sidebar, const char *uri)
                return;
        }
 
+       uri = g_file_get_uri (location);
+
         if (sidebar->uri == NULL || strcmp (sidebar->uri, uri) != 0) {
                g_free (sidebar->uri);
                 sidebar->uri = g_strdup (uri);
@@ -3972,6 +3975,8 @@ gtk_places_sidebar_set_current_uri (GtkPlacesSidebar *sidebar, const char *uri)
                        valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (sidebar->store), &iter);
                }
        }
+
+       g_free (uri);
 }
 
 /**
index 98bac73c7bce49b274764bb51011910347ac8801..093357ca1112218f7ce090e3b48a106941520280 100644 (file)
@@ -55,7 +55,7 @@ GtkWidget *gtk_places_sidebar_new (void);
 
 /* FIXME: add GObject properties for the following things */
 
-void gtk_places_sidebar_set_current_uri (GtkPlacesSidebar *sidebar, const char *uri);
+void gtk_places_sidebar_set_current_location (GtkPlacesSidebar *sidebar, GFile *location);
 
 void gtk_places_sidebar_set_multiple_tabs_supported (GtkPlacesSidebar *sidebar, gboolean supported);